/*

*/
typedef struct
{
    int numVertices,numEdges;//顶点和边的个数
    char VerticesList[MAXV];//顶点数组
    int Edge[MAXV][MAXV];//邻接矩阵
}MGraph;

/**
 * EL路径：若G中度为奇数的顶点个数为不大于2的偶数（0或2），则G存在EL路径
 * 本题只需判断是否存在，并不需要将这条路径输出出来
 * 判断G是否存在路径EL。
 * 基本思想：找度数为计数的顶点，数一下有几个
 * 
 * 时间复杂度：两层for循环，次数都是顶点个数，O(n^2)
 * 空间复杂度：使用count，countV计数，O(1)复杂度
 * @param G 无向图
 */
int ISExistEL(MGraph G){
    int count;//度数 计数
    int countV;//度数为奇数的顶点计数
    for(int i=0;i<G.numVertices;i++){//控制顶点
        for(int j=0;j<G.numVertices;j++){
            if(G.Edge[i][j]==1){
                count++;
            }
        }
        if(count%2!=0){
            countV++;
        }
        count=0;//重置计数

    }
    if(countV==0||countV==2){
        return 1;
    }
    return 0;
}